package com.treeroot.treenet.protocol.abs.tcp.decode;

import java.nio.ByteBuffer;

/**
 * Description: 消息解码器
 * Create By TreeRoot
 * Create Time: 2025/06/02 07:52
 * Class Name: MessageDecoder
 *
 * @author TreeRoot
 */// 解码器接口
public interface MessageDecoder {
    /**
     * 尝试从 buffer 中解码一条完整消息。
     * 如果数据不完整，返回 null。
     * 如果数据异常，抛异常或者跳过处理。
     * @param buffer 包含待解码数据的ByteBuffer
     * @return 解码后的消息对象，或 null 表示等待更多数据
     */
    DecodedMessage decode(ByteBuffer buffer);
}